System and method for isolating device communications in a BACnet/IP building automation network

ABSTRACT

A building automation system and method is provided for isolating device communications in a BACnet/IP building automation network. The system may comprise at least one processor in a BACnet device configured via executable instructions included in at least one memory to communicate UDP messages for field devices onto an Ethernet network for receipt by at least one other BACnet device on the Ethernet network. The at least one processor may be configured to receive and store in a memory a configurable local subnet, a BACnet/IP UDP port, and a local UDP port. The at least one processor may also be configured to determine a UDP message that is to be broadcast only on the local subnet. In addition, the at least one processor may be responsive to the determination, to broadcast the UDP message to BACnet devices on the same local subnet using the local UDP port stored in the memory.

TECHNICAL FIELD

The present disclosure is directed, in general, to building automationsystems that are used to control devices in a building such as HVACequipment, blind actuators, and lighting actuators.

BACKGROUND

Building automation systems provide communication between and control ofdevices in a building. Such systems may benefit from improvements.

SUMMARY

Variously disclosed embodiments include building automation systems andmethods that may be used to facilitate isolating device communicationsin a BACnet/IP building automation network. In one example, a system maycomprise at least one processor in a BACnet device configured viaexecutable instructions included in at least one memory to communicateUDP messages for field devices onto an Ethernet network for receipt byat least one other BACnet device on the Ethernet network. The at leastone processor may be configured to receive and store in a memory aconfigurable local subnet, a BACnet/IP UDP port, and a local UDP port.The at least one processor may also be configured to determine a UDPmessage that is to be broadcast only on the local subnet. In addition,the at least one processor may be responsive to the determination, tobroadcast the UDP message to BACnet devices on the same local subnetusing the local UDP port stored in the memory.

In another example, a method for isolating device communications in aBACnet/IP building automation network may comprise acts carried outthrough operation of at least one processor that correspond to thefunctions for which the previously described at least one processor isconfigured to carry out.

A further example may include a non-transitory computer readable mediumencoded with executable instructions (such as a software component on astorage device) that when executed, causes the devices to carry out thisdescribed method.

Another example may include a product or apparatus including at leastone hardware, software, and/or firmware based processor, computer,component, controller, means, module, and/or unit configured forcarrying out functionality corresponding to this described method.

The foregoing has outlined rather broadly the technical features of thepresent disclosure so that those skilled in the art may betterunderstand the detailed description that follows. Additional featuresand advantages of the disclosure will be described hereinafter that formthe subject of the claims. Those skilled in the art will appreciate thatthey may readily use the conception and the specific embodimentsdisclosed as a basis for modifying or designing other structures forcarrying out the same purposes of the present disclosure. Those skilledin the art will also realize that such equivalent constructions do notdepart from the spirit and scope of the disclosure in its broadest form.

Also, before undertaking the Detailed Description below, it should beunderstood that various definitions for certain words and phrases areprovided throughout this patent document, and those of ordinary skill inthe art will understand that such definitions apply in many, if notmost, instances to prior as well as future uses of such defined wordsand phrases. While some terms may include a wide variety of embodiments,the appended claims may expressly limit these terms to specificembodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a functional block diagram of a building automationsystem.

FIG. 2 illustrates a functional block diagram of an example system thatfacilitates isolating device communications in a BACnet/IP buildingautomation network.

FIG. 3 illustrates a flow diagram of an example methodology thatfacilitates isolating device communications in a BACnet/IP buildingautomation network.

FIG. 4 illustrates a block diagram of a data processing system in whichan embodiment may be implemented.

DETAILED DESCRIPTION

Various technologies that pertain to systems and methods that facilitateisolating device communications in a BACnet/IP building automationnetwork will now be described with reference to the drawings, where likereference numerals represent like elements throughout. The drawingsdiscussed below, and the various embodiments used to describe theprinciples of the present disclosure in this patent document are by wayof illustration only and should not be construed in any way to limit thescope of the disclosure. Those skilled in the art will understand thatthe principles of the present disclosure may be implemented in anysuitably arranged apparatus. It is to be understood that functionalitythat is described as being carried out by certain system elements may beperformed by multiple elements. Similarly, for instance, an element maybe configured to perform functionality that is described as beingcarried out by multiple elements. The numerous innovative teachings ofthe present application will be described with reference to exemplarynon-limiting embodiments.

FIG. 1 illustrates an example network topology for a building automationsystem 100. The network topology may include a plurality of Ethernetnetworks 102, 104 connected via a BACnet/IP router 106. Each network mayinclude a plurality of subnets 108, 110, 112 that each include aplurality of BACnet devices 114.

An example of such a BACnet 114 device may include a BACnet roomcontroller such as a Siemens DXR2 and/or PXC3 room automation stationsprovided by Siemens Switzerland Ltd, of Zug, Switzerland. As illustratedin the example system 200 of FIG. 2, a BACnet device 114 may include atleast one application such as a communication component 202 executed bya processor 204 via accessing firmware/software executable instructions206 from a memory 208. Such a communication component 202 facilitiescommunication of messages between a BACnet/IP network 102 (e.g., anEthernet IP network) and building technology field devices 210 such asHVAC (heating, ventilation, and air-conditioning), lighting, and shadingequipment (actuators, sensors) that are connected to the BACnet/IPdevice (such as via a KNX PL-Link bus).

As illustrated in FIG. 1, a BACnet/IP network topology of a buildingautomation system 100 may be configured to communicate messages overmultiple IP subnets 108, 110, 112. To accomplish this, one or moreBACnet Broadcast Management Devices (BBMDs) 116 may be used to forwardand redistribute a BACnet local broadcasted messages to all other BBMDsand associated subnets of the same network.

However, in order to limit the need for unnecessary devices to processnon-applicable messages broadcast on a BACnet/IP network, such BACnetbroadcasted messages may be isolated to those devices on a specific IPsubnet. In one approach to carry this out, physical BACnet routers maybe located on each IP subnet to drop local broadcast messages. However,the use of BACnet routers adds costs and complexity to a jobsite.

In another approach, IP Multicast could be used. However, this also addsadditional complexity to the jobsite. Further, network administratorsmay prohibit use of IP Multicast. In addition, there may be a technicalconflict. For example, the use of IP Multicast for a BACnet/IP port isan implementation option by the BACnet standard (clause J.8) thatprevents the broadcast isolation.

The following described examples provide a further approach to isolatebroadcasts to devices on a common subnet that is carried out via anenhancement to the communication component 202 of a BACnet device 114.In this example as illustrated in FIG. 2, a BACnet device 114 may beadapted to store and use one or more configurable local User DatagramProtocol (UDP) port(s) 218 that allow the device to communicate to otherBACnet devices on its local subnet without such communications beingforwarded by BBMD devices 116 to BACnet devices on other subnets. Such alocal UDP port 218 is in addition to an existing BACnet/IP UDP port 216stored in the BACnet device that is used to broadcast messages 222beyond the local subnet (e.g., via a BBMD 116 for example).

The described communication component 202 may be adapted, for example,to receive and store such a local UDP port 218 (in addition to aBACnet/IP IP address 212, a local subnet mask 214, and the BACnet/IP UDPport 216). Such parameters may be stored, for example, in a non-volatilememory of the BACnet device 114 (such as the memory 208 or other memoryof the device). In this example, the BACnet/IP UDP port 216, forexample, may correspond to a port number (different than the local UDPport) via which broadcast UDP messages 222 are received from and sent tothe BBMD 116 associated with the subnet.

Each BACnet device 114 may receive and send local UDP messages 220 thatare determined to be local messages (only for devices on the localsubnet), using the local UDP port 216 to communicate to other BACnetdevices 114 on its local subnet. This prevents broadcasts fromoverloading all of the subnets. Broadcasts of messaged determined by theat least one processor to be destined for a single subnet, will only beseen by those devices on that subnet, based on using the local UDP portstored in the memory of the BACnet device.

An example of such locally broadcast UDP messages may include messagesthat are determined to correspond to a device health message or anyother type of message that is intended only for devices on the localsubnet. A device heath message, for example, denotes a local broadcaston the network indicating the health of the device and if the device isOK, it may include any properties that have been read. Such properties,for example, may include: system status, last restore time, time ofdevice restart, firmware revision, model name, vendor ID, max APDUlength, segmentation supported, max segments accepted, APDU timeout, MaxAPDU length, object ID, protocol services supported, 51 active language,51 device features, or any combination thereof.

In this example, two or more BACnet devices 114 on a common subnet forwhich this functionality is desired, will have their local UDP portsconfigured to have the same port number. In an example embodiment, aBACnet device on the subnet may leave the local UDP port unconfigured(or disabled), which causes the BACnet device to not receive/send suchlocal broadcasts. Also, a BACnet communication component with theknowledge that all peers reside on the local IP subnet may be configuredto use a local UDP port automatically. Conversely, messages that are notdetermined to be limited to local delivery to devices on the samesubnet, may be communicated using the BACnet/IP UDP port 216 (whichcommunicates the message to other subnets via a BBMD 116. Such a BBMD116 may be configured to listen for messages to communicate on the sameBACnet/IP UDP port 216, but would not be configured to listen formessages to communicate on the local UDP port 218.

This described example may achieve reduced overhead on the entireBACnet/IP network and may reduce performance overhead on BBMD's formessages that do not have to be forwarded (without using additionalBACnet routers 106 to isolate the subnetworks). Further, this describedapproach may allow larger BACnet/IP systems to be assembled, asbroadcasts are kept local where possible and the potential for overallbroadcast storms is reduced. Also, this described approach permitslarger BACnet/IP systems to be engineered according to IP subnetboundaries.

Referring now to FIG. 3, a methodology 300 is illustrated thatfacilitates isolating device communications in a BACnet/IP buildingautomation network. While the methodology is described as being a seriesof acts that are performed in a sequence, it is to be understood thatthe methodology may not be limited by the order of the sequence. Forinstance, unless stated otherwise, some acts may occur in a differentorder than what is described herein. In addition, in some cases, an actmay occur concurrently with another act. Furthermore, in some instances,not all acts may be required to implement a methodology describedherein.

The methodology may start at 302 and may include several acts carriedout through operation of at least one processor in a BACnet deviceconfigured via executable instructions included in at least one memoryto communicate UDP messages for field devices onto an Ethernet networkfor receipt by at least one other BACnet device on the Ethernet network.These acts may include an act 304 of receiving and storing in a memory aconfigurable local subnet, a BACnet/IP UDP port, and a local UDP port.These acts may also include an act 306 of determining a UDP message thatis to be broadcast only on the local subnet. In addition, these acts mayinclude an act 308 of responsive to the determination, broadcasting theUDP message to BACnet devices on the same local subnet using the localUDP port stored in the memory. At 310 the methodology may end.

Also, it should be appreciated that this described methodology mayinclude additional acts and/or alternative acts corresponding to thefeatures described previously with respect to the BACnet device 114 andnetwork topology 100.

For example, as discussed previously, the field devices correspond to atleast one of HVAC, lighting, and/or shading equipment. The UDP messagesmay be associated with the field devices. The UDP message, for example,may include a device health message that specifies a status associatedwith a device. Such a device health message may also include propertiesthat have been read from the device including at least one of: systemstatus, last restore time, time of device restart, firmware revision,model name, vendor ID, max APDU length, segmentation supported, maxsegments accepted, APDU timeout, Max APDU length, object ID, protocolservices supported, S1 active language, S1 device features, or anycombination thereof.

In addition, the methodology may comprise acts carried out throughoperation of respective at least one processors in a first plurality ofthe BACnet devices, each connected to the Ethernet network andrespective field devices, and each configured with a same first subnetaddress and same first local UDP port. These acts may include locallybroadcasting messages limited to being received by the first pluralityof the BACnet devices, based on the same first local UDP port stored inthe respective memories of the BACnet devices.

In addition, the methodology may comprise acts carried out throughoperation of a first BACnet broadcast management device (BBMD) connectedto the Ethernet network. Such acts may include forwarding UDP messagesassociated with the BACnet/IP UDP port from each of the first pluralityof BACnet devices to a second BBMD associated with a second subnet. Suchacts may also include not forwarding the UDP messages for the local UDPport to the second BBMD associated with the second subnet.

In an example embodiment, a second plurality of the BACnet devices maybe connected to the Ethernet network and respective field devices, andeach may be configured with the same second subnet address and a samesecond local UDP port. In this example the first and second subnetaddress are different and locally broadcast messages are limited tobeing received by the first plurality of the BACnet devices and not thesecond plurality of BACnet devices, based on the same first local UDPport stored in the respective memories of the first plurality of BACnetdevices, wherein the BACnet/IP UDP port is different than the local UDPport.

As discussed previously, acts associated with the above-describedmethodologies (other than any described manual acts) may be carried outby one or more processors 204 included in a BACnet device 114 or anyother type of data processing systems with corresponding functionality.Such processor(s) may execute from at least one memory 208 executableinstructions 206 (such as software/firmware instructions) that areoperative to cause the described acts/functions to be carried out by theone or more processors.

Also, as used herein a processor corresponds to any electronic devicethat is configured via hardware circuits, software, and/or firmware toprocess data. For example, processors described herein may correspond toone or more (or a combination) of a microprocessor, CPU, or any otherintegrated circuit (IC) or other type of circuit that is capable ofprocessing data in a data processing system. It should be understoodthat a processor that is described or claimed as being configured tocarry out a particular described/claimed process or function may:correspond to a CPU that executes computer/processor executableinstructions stored in a memory in the form of software and/or firmwareto carry out such a described/claimed process or function; and/or maycorrespond to an IC that is hard wired with processing circuitry (e.g.,an FPGA or ASIC IC) to carry out such a described/claimed process orfunction.

It should also be understood that a processor that is described orclaimed as being configured to carry out a particular described/claimedprocess or function may correspond to the combination of the processorwith the software/firmware instructions loaded/installed into thedescribed memory (volatile and/or non-volatile), which are currentlybeing executed and/or are available to be executed by the processor tocause the processor to carry out the described/claimed process orfunction. Thus, a processor that is powered off or is executing othersoftware/firmware, but has the described software/firmware instructionsinstalled on a storage device in operative connection therewith (such asin a nonvolatile memory) in a manner that is setup to be executed by theprocessor (when started by a user, hardware and/or other software), mayalso correspond to the described/claimed processor that is configured tocarry out the particular processes and functions described/claimedherein.

Further the phrase “at least one” before an element (e.g., a processor)that is configured to carry out more than one function/process maycorrespond to one or more elements (e.g., processors) that each carryout the functions/processes and may also correspond to two or more ofthe elements (e.g., processors) that respectively carry out differentones of the one or more different functions/processes.

It is important to note that while the disclosure includes a descriptionin the context of a fully functional system and/or a series of acts,those skilled in the art will appreciate that at least portions of themechanism of the present disclosure and/or described acts are capable ofbeing distributed in the form of computer/processor executableinstructions (e.g., the described software and/or firmware instructions)contained within a non-transitory machine-usable, computer-usable, orcomputer-readable medium in any of a variety of forms, and that thepresent disclosure applies equally regardless of the particular type ofinstruction or data bearing medium or storage medium utilized toactually carry out the distribution. Examples of non-transitory machineusable/readable or computer usable/readable mediums include: ROMs,EPROMs, magnetic tape, hard disk drives, SSDs, flash memory, CDs, DVDs,and Blu-ray disks. The computer/processor executable instructions mayinclude a routine, a sub-routine, programs, applications, modules,libraries, and/or the like. Further, it should be appreciated thatcomputer/processor executable instructions may correspond to and/or maybe generated from source code, byte code, runtime code, machine code,assembly language, Java, JavaScript, Python, C, C#, C++ or any otherform of code that can be programmed/configured to cause at least oneprocessor to carry out the acts and features described herein. Stillfurther, results of the described/claimed processes or functions may bestored in a computer-readable medium, displayed on a display device,and/or the like.

FIG. 4 illustrates a block diagram of a data processing system 400(e.g., a computer or controller) in which an embodiment can beimplemented for some types of the devices described herein and/or othersystem operatively configured by computer/processor executableinstructions, circuits, or otherwise to perform the functions andprocesses as described herein. The data processing system depictedincludes at least one processor 402 (e.g., a CPU) that may be connectedto one or more bridges/controllers/buses 404 (e.g., a north bridge, asouth bridge). One of the buses 404, for example, may include one ormore I/O buses such as a PCI Express bus. Also connected to variousbuses in the depicted example may include a main memory 406 (RAM) and agraphics controller 408. The graphics controller 408 may be connected toone or more display devices 410 (e.g., LCD or AMOLED display screen,monitor, VR headset, and/or projector). It should also be noted that theprocessor 402 may include a CPU cache memory. Further, in someembodiments one or more controllers (e.g., graphics, south bridge) maybe integrated with the CPU (on the same chip or die). Examples of CPUarchitectures include IA-32, x86-64, and ARM processor architectures.

Other peripherals connected to one or more buses may includecommunication controllers 412 (Ethernet controllers, WiFi controllers,cellular controllers) operative to connect to a local area network(LAN), Wide Area Network (WAN), a cellular network, and/or other wiredor wireless networks 414 or communication equipment.

Further components connected to various busses may include one or moreI/O controllers 416 such as USB controllers, Bluetooth controllers,and/or dedicated audio controllers (connected to speakers and/ormicrophones). It should also be appreciated that various peripherals maybe connected to the I/O controller(s) (via various ports andconnections) including input devices 418 (e.g., keyboard, mouse,pointer, touch screen, touch pad, drawing tablet, trackball, buttons,keypad, game controller, gamepad, camera, microphone, scanners, motionsensing devices that capture motion gestures), output devices 420 (e.g.,printers, speakers) or any other type of device that is operative toprovide inputs to or receive outputs from the data processing system.

Also, it should be appreciated that many devices referred to as inputdevices or output devices may both provide inputs and receive outputs ofcommunications with the data processing system. For example, theprocessor 402 may be integrated into a housing (such as a tablet) thatincludes a touch screen that serves as both an input and display device.Further, it should be appreciated that some input devices (such as alaptop) may include a plurality of different types of input devices(e.g., touch screen, touch pad, and keyboard). Also, it should beappreciated that other peripheral hardware 422 connected to the I/Ocontrollers 416 may include any type of device, machine, or componentthat is configured to communicate with a data processing system.

Additional components connected to various busses may include one ormore storage controllers 424 (e.g., SATA). A storage controller may beconnected to a storage device 426 such as one or more storage drivesand/or any associated removable media, which can be any suitablenon-transitory machine usable or machine readable storage medium.Examples, include nonvolatile devices, volatile devices, read onlydevices, writable devices, ROMs, EPROMs, magnetic tape storage, harddisk drives, solid-state drives (SSDs), flash memory, optical diskdrives (CDs, DVDs, Blu-ray), and other known optical, electrical, ormagnetic storage devices drives and/or computer media. Also in someexamples, a storage device such as an SSD may be connected directly toan I/O bus 404 such as a PCI Express bus.

A data processing system in accordance with an embodiment of the presentdisclosure may include an operating system 428, software/firmware 430,and data stores 432 (that may be stored on a storage device 426 and/orthe memory 406). Such an operating system may employ a command lineinterface (CLI) shell and/or a graphical user interface (GUI) shell. TheGUI shell permits multiple display windows to be presented in thegraphical user interface simultaneously, with each display windowproviding an interface to a different application or to a differentinstance of the same application. A cursor or pointer in the graphicaluser interface may be manipulated by a user through a pointing devicesuch as a mouse or touch screen. The position of the cursor/pointer maybe changed and/or an event, such as clicking a mouse button or touchinga touch screen, may be generated to actuate a desired response. Examplesof operating systems that may be used in a data processing system mayinclude Microsoft Windows, Linux, UNIX, iOS, and Android operatingsystems. Also, examples of data stores include data files, data tables,relational database (e.g., Oracle, Microsoft SQL Server), databaseservers, or any other structure and/or device that is capable of storingdata, which is retrievable by a processor.

The communication controllers 412 may be connected to the network 414(which may or may not be a part of a data processing system 400), whichcan be any local, wide area, remote, private, and/or public dataprocessing system network or combination of networks, as known to thoseof skill in the art, including the Internet. Data processing system 400can communicate over the network 414 with one or more other dataprocessing systems such as a server 434 (which may in combinationcorrespond to a larger data processing system). For example, a largerdata processing system may correspond to a plurality of smaller dataprocessing systems implemented as part of a distributed system in whichprocessors associated with several smaller data processing systems maybe in communication by way of one or more network connections and maycollectively perform tasks described as being performed by a singlelarger data processing system. Thus, it is to be understood that whenreferring to a data processing system, such a system may be implementedacross several data processing systems organized in a distributed systemin communication with each other via a network.

It should also be understood that the term “controller” means anydevice, system or part thereof that controls at least one operation,whether such a device is implemented in hardware, firmware, software orany combination thereof. It should be noted that the functionalityassociated with any particular controller may be centralized ordistributed, whether locally or remotely. The described processor andmemory may be included in a controller. Further, a controller maycorrespond to the described data processing system or any other hardwarecircuit that is operative to control at least one operation.

In addition, it should be appreciated that data processing systems mayinclude virtual machines in a virtual machine architecture or cloudenvironment. For example, the processor 402 and associated componentsmay correspond to the combination of one or more virtual machineprocessors of a virtual machine operating in one or more physicalprocessors of a physical data processing system. Examples of virtualmachine architectures include VMware ESCi, Microsoft Hyper-V, Xen, andKVM.

Those of ordinary skill in the art will appreciate that the hardwaredepicted for the data processing system may vary for particularimplementations. For example, the data processing system 400 in thisexample may correspond to a controller, computer, workstation, server,PC, notebook computer, tablet, mobile phone, and/or any other type ofapparatus/system that is operative to process data and carry outfunctionality and features described herein associated with theoperation of a data processing system, computer, processor, softwarecomponents, and/or a controller discussed herein. The depicted exampleis provided for the purpose of explanation only and is not meant toimply architectural limitations with respect to the present disclosure.

Those skilled in the art will recognize that, for simplicity andclarity, the full structure and operation of all data processing systemssuitable for use with the present disclosure is not being depicted ordescribed herein. Instead, only so much of a data processing system asis unique to the present disclosure or necessary for an understanding ofthe present disclosure is depicted and described. The remainder of theconstruction and operation of the data processing system 400 may conformto any of the various current implementations and practices known in theart.

As used herein, the terms “component” and “system” are intended toencompass hardware, software, or a combination of hardware and software.Thus, for example, a system or component may be a process, a processexecuting on a processor, or a processor. Additionally, a component orsystem may be localized on a single device or distributed across severaldevices.

Also, it should be understood that the words or phrases used hereinshould be construed broadly, unless expressly limited in some examples.For example, the terms “include” and “comprise,” as well as derivativesthereof, mean inclusion without limitation. The singular forms “a”, “an”and “the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. Further, the term “and/or” as usedherein refers to and encompasses any and all possible combinations ofone or more of the associated listed items. The term “or” is inclusive,meaning and/or, unless the context clearly indicates otherwise. Thephrases “associated with” and “associated therewith,” as well asderivatives thereof, may mean to include, be included within,interconnect with, contain, be contained within, connect to or with,couple to or with, be communicable with, cooperate with, interleave,juxtapose, be proximate to, be bound to or with, have, have a propertyof, or the like.

Also, although the terms “first”, “second”, “third” and so forth may beused herein to refer to various elements, information, functions, oracts, these elements, information, functions, or acts should not belimited by these terms. Rather these numeral adjectives are used todistinguish different elements, information, functions or acts from eachother. For example, a first element, information, function, or act couldbe termed a second element, information, function, or act, and,similarly, a second element, information, function, or act could betermed a first element, information, function, or act, without departingfrom the scope of the present disclosure.

In addition, the term “adjacent to” may mean: that an element isrelatively near to but not in contact with a further element; or thatthe element is in contact with the further portion, unless the contextclearly indicates otherwise. Further, the phrase “based on” is intendedto mean “based, at least in part, on” unless explicitly statedotherwise.

Although an exemplary embodiment of the present disclosure has beendescribed in detail, those skilled in the art will understand thatvarious changes, substitutions, variations, and improvements disclosedherein may be made without departing from the spirit and scope of thedisclosure in its broadest form.

None of the description in the present application should be read asimplying that any particular element, step, act, or function is anessential element, which must be included in the claim scope: the scopeof patented subject matter is defined only by the allowed claims.Moreover, none of these claims are intended to invoke a means plusfunction claim construction unless the exact words “means for” arefollowed by a participle.

What is claimed is:
 1. A system for isolating device communications in aBACnet over Internet Protocol (BACnet/IP) building automation networkcomprising: at least one processor in a BACnet device configured viaexecutable instructions included in at least one memory to communicateuser datagram protocol (UDP) messages for field devices onto an Ethernetnetwork for receipt by at least one other BACnet device on the Ethernetnetwork, wherein the at least one processor is configured to: receiveand store in a memory a configurable local subnet, a BACnet/IP UDP port,and a local UDP port; determine a UDP message that is to be broadcastonly on the local subnet; and responsive to the determination, broadcastthe UDP message to BACnet devices on the same local subnet using thelocal UDP port stored in the memory, wherein the field devicescorrespond to at least one of heating, ventilation and air conditioning(HVAC), lighting, and/or shading equipment, further comprising a firstplurality of the BACnet devices, each connected to the Ethernet networkand respective field devices, and each configured with a same firstsubnet address and same first local UDP port, wherein locally broadcastmessages are limited to being received by the first plurality of theBACnet devices, based on the same first local UDP port stored in therespective memories of the BACnet devices, and further comprising afirst BACnet broadcast management device (BBMD) connected to theEthernet network and configured to: forward UDP messages associated withthe BACnet/IP UDP port from each of the first plurality of BACnetdevices to a second BBMD associated with a second subnet; not forwardthe UDP messages for the local UDP port to the second BBMD associatedwith the second subnet.
 2. The system according to claim 1, wherein theUDP message includes a device health message that specifies a statusassociated with a device.
 3. The system according to claim 2, whereinthe device health message includes properties that have been read fromthe device including at least one of: system status, last restore time,time of device restart, firmware revision, model name, vendor ID, maxapplication protocol data unit (APDU) length, segmentation supported,max segments accepted, APDU timeout, object ID, protocol servicessupported, S1 active language, S1 device features, or any combinationthereof.
 4. The system according to claim 1, further comprising: thesecond BBMD; and a second plurality of the BACnet devices, eachconnected to the Ethernet network and respective field devices, and eachconfigured with the same second subnet address and a same second localUDP port, which first and second subnet addresses are different, whereinlocally broadcast messages are limited to being received by the firstplurality of the BACnet devices and not the second plurality of BACnetdevices, based on the same first local UDP port stored in the respectivememories of the first plurality of BACnet devices, wherein the BACnet/IPUDP port is different than the local UDP port.
 5. A method for isolatingdevice communications in a BACnet over Internet Protocol (BACnet/IP)building automation network comprising: through operation of at leastone processor in a BACnet device configured via executable instructionsincluded in at least one memory to communicate user datagram protocol(UDP) messages for field devices onto an Ethernet network for receipt byat least one other BACnet device on the Ethernet network: receiving andstoring in a memory a configurable local subnet, a BACnet/IP UDP port,and a local UDP port; determining a UDP message that is to be broadcastonly on the local subnet; and responsive to the determination,broadcasting the UDP message to BACnet devices on the same local subnetusing the local UDP port stored in the memory, wherein the field devicescorrespond to at least one of heating, ventilation and air conditioning(HVAC), lighting, and/or shading equipment, further comprising throughoperation of respective at least one processor in a first plurality ofthe BACnet devices, each connected to the Ethernet network andrespective field devices, and each configured with a same first subnetaddress and same first local UDP port: locally broadcasting UDP messageslimited to being received by the first plurality of the BACnet devices,based on the same first local UDP port stored in the respective memoriesof the BACnet devices, wherein the UDP message includes a device healthmessage that specifies a status associated with a device, and furthercomprising: through operation of a first BACnet broadcast managementdevice (BBMD) connected to the Ethernet network: forwarding UDP messagesassociated with the BACnet/IP UDP port from each of the first pluralityof BACnet devices to a second BBMD associated with a second subnet; notforwarding the UDP messages for the local UDP port to the second BBMDassociated with the second subnet.
 6. The method according to claim 5,wherein the UDP message includes a device health message that specifiesa status associated with a device.
 7. The method according to claim 6,wherein the device health message includes properties that have beenread from the device including at least one of: system status, lastrestore time, time of device restart, firmware revision, model name,vendor ID, max application protocol data unit (APDU) length,segmentation supported, max segments accepted, APDU timeout, object ID,protocol services supported, S1 active language, S1 device features, orany combination thereof.
 8. The method according to claim 5, wherein asecond plurality of the BACnet devices is connected to the Ethernetnetwork and respective field devices, and each is configured with thesame second subnet address and a same second local UDP port, which firstand second subnet addresses are different, wherein locally broadcastmessages are limited to being received by the first plurality of theBACnet devices and not the second plurality of BACnet devices, based onthe same first local UDP port stored in the respective memories of thefirst plurality of BACnet devices, wherein the BACnet/IP UDP port isdifferent than the local UDP port.
 9. A non-transitory computer readablemedium encoded with processor executable instructions that when executedby at least one processor in a BACnet device configured to communicateuser datagram protocol (UDP) messages for field devices onto an Ethernetnetwork for receipt by at least one other BACnet device on the Ethernetnetwork, cause the at least one processor to carry out a method forisolating device communications in a BACnet over Internet Protocol(BACnet/IP) building automation network comprising: receiving andstoring in a memory a configurable local subnet, a BACnet/IP UDP port,and a local UDP port; determining a UDP message that is to be broadcastonly on the local subnet; and responsive to the determination,broadcasting the UDP message to BACnet devices on the same local subnetusing the local UDP port stored in the memory, wherein the field devicescorrespond to at least one of heating, ventilation and air conditioning(HVAC), lighting, and/or shading equipment, further comprising: locallybroadcasting messages limited to being received by a first plurality ofthe BACnet devices, based on a same first local UDP port stored in therespective memories of the BACnet devices, wherein a second plurality ofthe BACnet devices is connected to the Ethernet network and respectivefield devices, and each is configured with the same second subnetaddress and a same second local UDP port, which first and second subnetaddresses are different, wherein locally broadcast messages are limitedto being received by the first plurality of the BACnet devices and notthe second plurality of BACnet devices, based on the same first localUDP port stored in the respective memories of the first plurality ofBACnet devices, wherein the BACnet/IP UDP port is different than thelocal UDP port.
 10. The non-transitory computer readable mediumaccording to claim 9, wherein the UDP message includes a device healthmessage that specifies a status associated with a device.
 11. Thenon-transitory computer readable medium according to claim 10, whereinthe device health message includes properties that have been read fromthe device including at least one of: system status, last restore time,time of device restart, firmware revision, model name, vendor ID, maxapplication protocol data unit (APDU) length, segmentation supported,max segments accepted, APDU timeout, object ID, protocol servicessupported, S1 active language, S1 device features, or any combinationthereof.